package edu.service;

import edu.vo.Teacher;

import java.util.List;
import java.util.Optional;

public interface TeacherService {
    /**
     * 保存教师信息
     * @param teacher 教师对象
     * @return 保存后的教师对象
     */
    Teacher saveTeacher(Teacher teacher);

    /**
     * 根据ID获取教师信息
     * @param id 教师ID
     * @return 教师对象的Optional包装
     */
    Optional<Teacher> getTeacherById(Integer id);

    /**
     * 获取所有教师信息
     * @return 教师列表
     */
    List<Teacher> getAllTeachers();

    /**
     * 根据ID删除教师信息
     * @param id 教师ID
     */
    void deleteTeacherById(Integer id);

    /**
     * 更新教师信息
     * @param id 教师ID
     * @param teacher 新的教师信息
     * @return 更新后的教师对象
     */
    Teacher updateTeacher(Integer id, Teacher teacher);
}